(function (a){ function g(a, b){ var c=a.data("ddslick"); var d=a.find(".dd-selected"), e=d.siblings(".dd-selected-value"), f=a.find(".dd-options"), g=d.siblings(".dd-pointer"), h=a.find(".dd-option").eq(b), k=h.closest("li"), l=c.settings, m=c.settings.data[b]; a.find(".dd-option").removeClass("dd-option-selected"); h.addClass("dd-option-selected"); c.selectedIndex=b; c.selectedItem=k; c.selectedData=m; if(l.showSelectedHTML){ d.html((m.imageSrc ? '':"") + (m.text ? '":"") + (m.description ? '' + m.description + "":"")) } else d.html(m.text); e.val(m.value); c.original.val(m.value); a.data("ddslick", c); i(a); j(a); if(typeof l.onSelected=="function"){ l.onSelected.call(this, c) }} function h(b){ var c=b.find(".dd-select"), d=c.siblings(".dd-options"), e=c.find(".dd-pointer"), f=d.is(":visible"); a(".dd-click-off-close").not(d).slideUp(50); a(".dd-pointer").removeClass("dd-pointer-up"); if(f){ d.slideUp("fast"); e.removeClass("dd-pointer-up") }else{ d.slideDown("fast"); e.addClass("dd-pointer-up") } k(b) } function i(a){ a.find(".dd-options").slideUp(50); a.find(".dd-pointer").removeClass("dd-pointer-up").removeClass("dd-pointer-up") } function j(a){ var b=a.find(".dd-select").css("height"); var c=a.find(".dd-selected-description"); var d=a.find(".dd-selected-image"); if(c.length <=0&&d.length > 0){ a.find(".dd-selected-text").css("lineHeight", b) }} function k(b){ b.find(".dd-option").each(function (){ var c=a(this); var d=c.css("height"); var e=c.find(".dd-option-description"); var f=b.find(".dd-option-image"); if(e.length <=0&&f.length > 0){ c.find(".dd-option-text").css("lineHeight", d) }}) } a.fn.ddslick=function (c){ if(b[c]){ return b[c].apply(this, Array.prototype.slice.call(arguments, 1)) }else if(typeof c==="object"||!c){ return b.init.apply(this, arguments) }else{ a.error("Method " + c + " does not exists.") }}; var b={}, c={ data: [], keepJSONItemsOnTop: false, width: 260, height: null, background: "#eee", selectText: "", defaultSelectedIndex: null, truncateDescription: true, imagePosition: "left", showSelectedHTML: true, clickOffToClose: true, onSelected: function (){ }}, d='
', e='', f='"; if(a("#css-ddslick").length <=0){ a(f).appendTo("head") } b.init=function (b){ var b=a.extend({}, c, b); return this.each(function (){ var c=a(this), f=c.data("ddslick"); if(!f){ var i=[], j=b.data; c.find("option").each(function (){ var b=a(this), c=b.data(); i.push({ text: a.trim(b.text()), value: b.val(), selected: b.is(":selected"), description: c.description, imageSrc: c.imagesrc }) });if(b.keepJSONItemsOnTop) a.merge(b.data, i); else b.data=a.merge(i, b.data); var k=c, l=a('
'); c.replaceWith(l); c=l; c.addClass("dd-container").append(d).append(e); var i=c.find(".dd-select"), m=c.find(".dd-options"); m.css({ width: b.width });i.css({ width: b.width, background: b.background });c.css({ width: b.width });if(b.height!=null) m.css({ height: b.height, overflow: "auto" });a.each(b.data, function (a, c){ if(c.selected) b.defaultSelectedIndex=a; m.append("
  • " + '' + (c.value ? ' ':"") + (c.imageSrc ? ' ':"") + (c.text ? ' ":"") + (c.description ? ' ' + c.description + "":"") + "" + "
  • ") });var n={ settings: b, original: k, selectedIndex: -1, selectedItem: null, selectedData: null }; c.data("ddslick", n); if(b.selectText.length > 0&&b.defaultSelectedIndex==null){ c.find(".dd-selected").html(b.selectText) }else{ var o=b.defaultSelectedIndex!=null&&b.defaultSelectedIndex >=0&&b.defaultSelectedIndex < b.data.length ? b.defaultSelectedIndex:0; g(c, o) } c.find(".dd-select").on("click.ddslick", function (){ h(c) });c.find(".dd-option").on("click.ddslick", function (){ g(c, a(this).closest("li").index()) });if(b.clickOffToClose){ m.addClass("dd-click-off-close"); c.on("click.ddslick", function (a){ a.stopPropagation() });a("body").on("click", function (){ a(".dd-click-off-close").slideUp(50).siblings(".dd-select").find(".dd-pointer").removeClass("dd-pointer-up") }) }} }) }; b.select=function (b){ return this.each(function (){ if(b.index) g(a(this), b.index) }) }; b.open=function (){ return this.each(function (){ var b=a(this), c=b.data("ddslick"); if(c) h(b) }) }; b.close=function (){ return this.each(function (){ var b=a(this), c=b.data("ddslick"); if(c) i(b) }) }; b.destroy=function (){ return this.each(function (){ var b=a(this), c=b.data("ddslick"); if(c){ var d=c.original; b.removeData("ddslick").unbind(".ddslick").replaceWith(d) }}) }})(jQuery);